package edu.hunau.cxb18.spring.annotation.advice;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * @author hb
 * @create 2020-03-17 11:33
 */
@Component
@Aspect
@Order(1)
public class OtherAdvice {
    /**
     * 定义一个空的方法，通过@Pointcut定义一个切入点
     * 如果需要使用该切入点通过该方法名直接引入即可（实现切入点的复用）
     */
    @Pointcut("execution(* edu.hunau.cxb18.spring.annotation.service.*.*(..))")
    public void pointCut01(){  }


    @Before(value = "pointCut01()")
    public void before(JoinPoint j){
        System.out.println("\t【OtherAdvice#前置通知】:目标方法：" + j.getSignature().getName());
    }

}
